Tabling, Rational Terms, and Coinduction Finally Together!

نویسندگان

  • Theofrastos Mantadelis
  • Ricardo Rocha
  • Paulo Moura
چکیده

Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program de nitions. Furthermore, tabling often improves computational performance. Rational term are terms with one or more in nite subterms but with a nite representation. Rational terms can be generated in Prolog by omitting the occurs check when unifying two terms. Applications of rational terms include de nite clause grammars, constraint handling systems, and coinduction. In this paper, we report our extension of YAP's Prolog tabling mechanism to support rational terms. We describe the internal representation of rational terms within the table space and prove its correctness. We then use this extension to implement a tabling based approach to coinduction. We compare our approach with current coinductive transformations and describe the implementation. In addition, we present an algorithm that ensures a canonical representation for rational terms.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sampling, Splitting and Merging in Coinductive Stream Calculus

We study various operations for partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and the stream processing languages. We use the framework of stream calculus and stream circuits for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. We study the inv...

متن کامل

Stream processing coalgebraically

We study various operations for splitting, partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and stream processing languages. We use the framework of stream calculus and stream circuits for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. As a feat...

متن کامل

Coinductive Constraint Logic Programming

Constraint logic programming (CLP) has been proposed as a declarative paradigm for merging constraint solving and logic programming. Recently, coinductive logic programming has been proposed as a powerful extension of logic programming for handling (rational) infinite objects and reasoning about their properties. Coinductive logic programming does not include constraints while CLP’s declarative...

متن کامل

On the Rationality of Escalation

Escalation is a typical feature of infinite games. Therefore tools conceived for studying infinite mathematical structures, namely those deriving from coinduction are essential. Here we use coinduction, or backward coinduction (to show its connection with the same concept for finite games) to study carefully and formally the infinite games especially those called dollar auctions, which are cons...

متن کامل

Rationality and Escalation in Infinite Extensive Games

The aim of this article is to study infinite games and to prove formally properties in this framework. In particular, we show that the behavior which leads to speculative crashes or escalation is rational. Indeed it proceeds logically from the statement that resources are infinite. The reasoning is based on the concept of coinduction conceived by computer scientists to model infinite computatio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • TPLP

دوره 14  شماره 

صفحات  -

تاریخ انتشار 2014